Operatorvolgorde

       

Als in een expressie meerdere bewerkingen voorkomen, worden deze in een vooraf bepaalde volgorde geδvalueerd. Dit wordt de operatorvolgorde genoemd.

Als een expressie verschillende soorten operatoren bevat, worden eerst de rekenkundige operatoren geδvalueerd, vervolgens de vergelijkingsoperatoren en als laatste de logische operatoren. Vergelijkingsoperatoren zijn alle even belangrijk en worden geδvalueerd in de volgorde waarin ze van links naar rechts in de expressie zijn opgenomen. Rekenkundige en logische operatoren worden geδvalueerd in de volgende volgorde:

Rekenkundig Vergelijking Logisch
Machtsverheffen (^) Gelijk aan (=) Not
Negatief (û) Niet gelijk aan(<>) And
Vermenigvuldigen en delen (*, /) Kleiner dan (<) Or
Integer delen (\) Groter dan(>) Xor
Rekenkundige coδfficiδnt (Mod) Kleiner of gelijk
aan (<=)
Eqv
Optellen en aftrekken (+, û) Groter of gelijk
aan (>=)
Imp
Aaneenschakeling tekenreeksen (&) Like
Is
 

Wanneer vermenigvuldigen en delen beide in een expressie voorkomen, worden de bewerkingen uitgevoerd in de volgorde waarin ze van links naar rechts optreden. Wanneer optellen en aftrekken beide in een expressie voorkomen, worden de bewerkingen uitgevoerd in de volgorde waarin ze van links naar rechts zijn opgenomen. Met ronde haken kunt u de operatorvolgorde wijzigen en zorgen dat bepaalde delen van een expressie eerder worden geδvalueerd dan andere. Bewerkingen tussen ronde haken worden altijd eerder uitgevoerd dan bewerkingen die niet tussen ronde haken staan. Binnen de ronde haken is de normale operatorvolgorde van toepassing.

Eigenlijk is de operator voor het aaneenschakelen van tekenreeksen (&) geen rekenkundige operator, maar in de operatorvolgorde komt het na alle rekenkundige operatoren en v≤≤r alle vergelijkingsoperatoren.

Hoewel de operator Like in de operatorvolgorde op dezelfde plaats komt als alle vergelijkingsoperatoren, is het geen echte vergelijkingsoperator maar een operator die patronen vergelijkt.

De operator Is is een vergelijkingsoperator van objectverwijzingen. Er worden geen objecten of objectwaarden vergeleken, maar er wordt nagegaan of twee objectverwijzingen naar hetzelfde object verwijzen.